package com.hy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hy.Result.ResponseResult;
import com.hy.pojeVo.QueryParam;
import com.hy.pojo.vaccine.VaccinationAppointment;
import io.minio.errors.*;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;


/**
 * @author Lenovo
 * @description 针对表【vaccination_appointment(疫苗预约表：记录用户的疫苗预约信息，包括预约时间、接种记录、支付信息等)】的数据库操作Service
 * @createDate 2025-03-17 15:00:26
 */
public interface VaccinationAppointmentService extends IService<VaccinationAppointment> {
    /**
     * 创建预约
     */
    ResponseResult createAppointment(VaccinationAppointment appointment);

    /**
     * 更新预约
     */
    ResponseResult updateAppointment(VaccinationAppointment appointment);

    /**
     * 删除预约
     */
    ResponseResult deleteAppointment(Integer id);

    /**
     * 分页查询预约
     */
    ResponseResult searchByKeyword(QueryParam queryParam);

    /**
     * 通过用户ID查询预约信息
     * @param userId 用户ID
     * @return 预约信息列表
     */
    ResponseResult getAppointmentsByUserId(Long userId);

    /**
     * 通过用户ID查询预约详细信息（包含疫苗和医院信息）
     * @param userId 用户ID
     * @return 预约详细信息列表
     */
    ResponseResult getAppointmentDetailsByUserId(Long userId);
}
